home *** CD-ROM | disk | FTP | other *** search
- /*
- $VER: ChangeSTARTPRI.rexx V1.0 (7.9.95) Copyright in 1995 by Nils Goers
-
- This ARexx script was written using the tritonrexx.library and
- rexxtricks.library from Juergen Kohrmeyer <j_kohrmeyer@wilam.north.de>.
-
- Use it to edit the STARTPRI-Tooltype from your WBStartup-Tools.
- */
-
- /* temporary Filename */
- OutPut = "t:ToolsList"
-
- /* directory shown on startup */
- Directory = "Sys:WBStartup/"
- /************************************************
- * Please don't change anything under this line *
- ************************************************/
- NL = '0a'x
-
- PARSE ARG PubScreen
-
- IF PubScreen == "?" THEN DO
- OPTIONS PROMPT "PUBSCREEN/K: "
- PARSE PULL PubScreen
- END
-
- IF PubScreen == "" THEN
- PubScreen = "Workbench"
-
- IF ~SHOW('LIBRARIES','tritonrexx.library') THEN DO
- IF ~ADDLIB('tritonrexx.library',10,-30,0) THEN DO
- SAY 'Kann die <tritonrexx.library> nicht oeffnen!'
- EXIT(10)
- END
- END
-
- IF ~SHOW('LIBRARIES','rexxtricks.library') THEN DO
- IF ~ADDLIB('rexxtricks.library',10,-30,0) THEN DO
- SAY 'Kann die <rexxtricks.library> nicht oeffnen!'
- EXIT(10)
- END
- END
-
-
- CALL _GetInfoFiles /* Hier holen wir uns die .info-Files und das
- dazu passende STARTPRI-ToolType */
- windowtags = WindowID(1),
- PubScreenName(PubScreen),
- WindowTitle('Change STARTPRI'),
- BeginMenu("Project"),
- MenuItem("A_About",6),
- MenuItem("About Triton",7) ItemBarlabel,
- MenuItem("C_Change Dir",9) ItemBarlabel,
- MenuItem("Q_Quit",8),
- 'VertGroupAC Space HorizGroup Space',
- CenteredText3("Program "),
- CenteredText3("Priority"),
- 'Space EndGroup',
- 'VertGroupAC EndGroup HorizGroupAC Space',
- ListSS('Liste',4,0,0),
- 'Space',
- ListSS('Prio',10,0,0),
- 'Space EndGroup',
- 'HorizGroup Space',
- ClippedTextBox("",80),
- 'Space EndGroup',
- 'VertGroupAC Space EndGroup HorizGroupE Space',
- 'SpaceB',
- TextID("_Priority",1),
- 'Space EndGroup',
- 'VertGroupAC Space EndGroup HorizGroupAC Space',
- SliderGadget(0,255,0,1) 'TRAT_Disabled 1',
- 'Space EndGroup',
- 'VertGroupAC Space EndGroup HorizGroupAC Space',
- ButtonR("_OK",5),
- 'Space',
- Button("_Save",2),
- 'Space',
- ButtonE("_Cancel",3),
- 'SpaceB',
- GetDrawerButton(9),
- 'Space',
- 'EndGroup',
- 'Space',
- 'EndGroup',
- 'EndProject'
-
- /*
- ** Unterbrechungssignale
- */
-
- SIGNAL ON break_c
- SIGNAL ON failure
- SIGNAL ON halt
- SIGNAL ON ioerr
- SIGNAL ON syntax
-
- app = TR_CREATEAPP('TRCA_Name Listview')
-
- IF app ~= '00000000'x THEN DO
-
- window = TR_OPENPROJECT(app,windowtags)
- WindowProject=C2D(window) /* zum Locken des Fensters bei About */
-
- IF window ~= '00000000'x THEN DO
- ende = 0
-
- DO WHILE ende ~= 1
- CALL TR_WAIT(app,'')
- /* 1 = Slider
- 2 = Gadget _Save
- 3 = Gadget _Cancel
- 4 = ListView
- 5 = Gadget _OK
- 6 = Menu About
- 7 = Menu About Triton
- 8 = Menu Quit
- 9 = GetDrawer Image (Menu ChangeDir)
- */
- DO WHILE TR_HANDLEMSG(app,'event')
- IF event.trm_class = 'TRMS_ACTION' THEN DO
- SELECT
- WHEN event.trm_id = 2 THEN DO
- DO i = 1 TO Prio.0
- IF prio.i ~= new.i THEN
- CALL SETTOOLTYPEVALUE(Directory||Tools.i,"STARTPRI",new.i)
- END
- END
- WHEN event.trm_id = 3 THEN DO
- Quit=TR_EasyRequest(app,"Really Quit?"NL"(without changes!)",,
- "_Yes|_No","TREZ_Title Quit TREZ_LockProject" WindowProject)
- IF Quit == 1 THEN DO
- CALL TR_CLOSEPROJECT(window)
- CALL TR_DELETEAPP(app)
- EXIT(0)
- END
- END
-
- WHEN event.trm_id = 5 THEN DO
- nummer=TR_GETATTRIBUTE(window,4,TRAT_Value)+1
- sliderNumber = new.nummer+128
- /* Name von Tool in Gadget eintragen */
- CALL TR_SETATTRIBUTE(window,80,'TRAT_Text',Tools.nummer)
- /* Slider Gadget aktualisieren */
- CALL TR_SETATTRIBUTE(window,1,'TRAT_Disabled',0)
- distest=tools.nummer
- CALL TR_SETATTRIBUTE(window,1,'TRAT_Value',sliderNumber)
- END
-
- WHEN event.trm_id = 6 THEN DO
- CALL TR_EasyRequest(app,"ChangeSTARTPRI V1.0 (7.9.95)",
- NL NL"(c) 1995 Nils Goers <N.Goers@Art-Line.Art-Line.de>",
- NL"- freely distributable -","OK","TREZ_Title About TREZ_LockProject" WindowProject)
- END
-
- WHEN event.trm_id = 7 THEN DO
- CALL TR_EasyRequest(app,"This application uses the Triton GUI creation system",
- NL"Triton is (C) by Stefan Zeiger <s.zeiger@laren.rhein-main.de>",
- NL NL"This application was written using the tritonrexx.library",
- NL"tritonrexx.library is (C) by Juergen Kohrmeyer <j_kohrmeyer@wilam.north.de>",,
- "OK","TREZ_Title" '"About Triton"' "TREZ_LockProject" WindowProject)
- END
-
- WHEN event.trm_id = 8 THEN DO
- Quit=TR_EasyRequest(app,"Save changes?",,
- "_Yes|_No","TREZ_Title Quit TREZ_LockProject" WindowProject)
- IF Quit == 1 THEN DO
- DO i = 1 TO Liste.0
- IF prio.i ~= new.i THEN
- CALL SETTOOLTYPEVALUE(Directory||Tools.i,"STARTPRI",new.i)
- END
- END
- CALL TR_CLOSEPROJECT(window)
- CALL TR_DELETEAPP(app)
- EXIT(0)
- END
-
- WHEN event.trm_id = 9 THEN DO
- bool = ASL_RequestFile(window,Dir,,
- "ASLFR_PubScreenName" PubScreen,
- "ASLFR_InitialDrawer" Directory,
- "ASLFR_DrawersOnly" 1,
- "ASLFR_TitleText" '"New Directory?"')
- IF bool = 1 THEN DO
- IF WORDLENGTH(Dir.1,1) ~= LASTPOS(":",dir.1) THEN
- Dir.1 = Dir.1||"/"
- Directory = dir.1
- CALL _GetInfoFiles
- CALL TR_SETATTRIBUTE(window,10,'TROB_Listview',New)
- END
- END
-
- OTHERWISE
- NOP
- END
- END
- IF event.trm_class = 'TRMS_NEWVALUE' THEN DO
-
- SELECT
- WHEN event.trm_id = 10 THEN DO
- nummer = event.trm_data+1
- IF distest ~= tools.nummer THEN
- CALL TR_SETATTRIBUTE(window,1,'TRAT_Disabled',1)
- CALL TR_SETATTRIBUTE(window,4,'TRAT_Value',nummer-1)
- IF BITAND(D2X(event.trm_qualifier),'0200'x) = '0200'x THEN DO
- nummer = event.trm_data+1
- sliderNumber = new.nummer+128
- /* Name von Tool in Gadget eintragen */
- CALL TR_SETATTRIBUTE(window,80,'TRAT_Text',Tools.nummer)
- /* Slider Gadget aktualisieren */
- CALL TR_SETATTRIBUTE(window,1,'TRAT_Disabled',0)
- distest=tools.nummer
- CALL TR_SETATTRIBUTE(window,1,'TRAT_Value',SliderNumber)
- END
- END
-
- WHEN event.trm_id = 4 THEN DO
- nummer = event.trm_data+1
- CALL TR_SETATTRIBUTE(window,10,'TRAT_Value',nummer-1)
- IF distest ~= tools.nummer THEN
- CALL TR_SETATTRIBUTE(window,1,'TRAT_Disabled',1)
- IF BITAND(D2X(event.trm_qualifier),'0200'x) = '0200'x THEN DO
- sliderNumber = new.nummer+128
-
- /* Name von Tool in Gadget eintragen */
- CALL TR_SETATTRIBUTE(window,80,'TRAT_Text',Tools.nummer)
- /* Slider Gadget aktualisieren */
- CALL TR_SETATTRIBUTE(window,1,'TRAT_Disabled',0)
- distest=tools.nummer
- CALL TR_SETATTRIBUTE(window,1,'TRAT_Value',SliderNUmber)
- END
- END
-
- WHEN event.trm_id = 1 THEN DO
- Del=WORDS(new.Nummer)
- new.Nummer=DELWORD(new.Nummer,Del)
- New.Nummer = event.trm_data-128
- CALL TR_SETATTRIBUTE(window,10,'TROB_Listview',New)
- END
-
- OTHERWISE
- NOP
- END
- END
- IF event.trm_class = 'TRMS_CLOSEWINDOW' THEN DO
- nummer = TR_GETATTRIBUTE(window,10,'TRAT_Value')+1
- ende = 1
- END
- END
- END
-
- CALL TR_CLOSEPROJECT(window)
- END
-
- CALL TR_DELETEAPP(app)
- END
- EXIT(0)
- _GetInfoFiles:
- ADDRESS COMMAND "c:List" Directory"#?.info QUICK SORT N NOHEAD >"OutPut
- IF READFILE(OutPut,Tools) == 0 THEN EXIT(5)
-
- /* Tools = Name der Tools OHNE .info
- Prio = originale Prioritaet der einzelnen Tools
- New = hier werden die geaenderten Prioritaeten spaeter eingetragen!
- Liste = Liste mit Toolnamen und Prioeritaet fuer das ListView */
-
- Liste.0 = Tools.0
- Prio.0 = Tools.0
- new.0 = Tools.0
-
- DO i = 1 to Tools.0
- Laenge = WORDLENGTH(Tools.i,1)
- IF Laenge == 0 THEN ITERATE
-
- Tools.i=LEFT(Tools.i,Laenge-5)
- Laenge=Laenge-5
- Prio=GETTOOLTYPEVALUE(Directory||Tools.i,"STARTPRI")
- IF Prio ~= "" THEN
- DO
- New.i = Prio
- Prio.i = Prio
- Rest = 32-Laenge
- Liste.i = INSERT("",Tools.i,Rest,Laenge," ")
- END
- ELSE
- DO
- Prio = 0
- New.i = Prio
- Prio.i = Prio
- Rest = 32-Laenge
- Liste.i = INSERT("",Tools.i,Rest,Laenge," ")
- END
- END
- ADDRESS COMMAND "c:delete" OutPut "QUIET"
- RETURN
- /*******************************************************************************
- ** Routine, die bei einer Unterbrechung des Scripts aufgerufen wird
- *******************************************************************************/
-
- break_c:
- failure:
- halt:
- ioerr:
- syntax:
- SAY '+++ Fehler' rc 'in Zeile' sigl '-' ERRORTEXT(rc)
- SAY SOURCELINE(sigl)
-
- IF app ~= '00000000'x THEN
- CALL TR_DELETEAPP(app)
-
- EXIT(10)
- /*EOS*/
-